<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Code Coverage for /Users/guangfan.qu/htdocs/new/sdk/opensearch-sdk-php/OpenSearch/Util/ClauseParamsBuilder.php</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link href="../../css/bootstrap.min.css" rel="stylesheet">
  <link href="../../css/style.css" rel="stylesheet">
  <!--[if lt IE 9]>
  <script src="../../js/html5shiv.min.js"></script>
  <script src="../../js/respond.min.js"></script>
  <![endif]-->
 </head>
 <body>
  <header>
   <div class="container">
    <div class="row">
     <div class="col-md-12">
      <ol class="breadcrumb">
        <li><a href="../../index.html">/Users/guangfan.qu/htdocs/new/sdk/opensearch-sdk-php</a></li>
        <li><a href="../index.html">OpenSearch</a></li>
        <li><a href="index.html">Util</a></li>
        <li class="active">ClauseParamsBuilder.php</li>

      </ol>
     </div>
    </div>
   </div>
  </header>
  <div class="container">
   <table class="table table-bordered">
    <thead>
     <tr>
      <td>&nbsp;</td>
      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
     </tr>
     <tr>
      <td>&nbsp;</td>
      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
     </tr>
    </thead>
    <tbody>
     <tr>
      <td class="danger">Total</td>
      <td class="danger big">       <div class="progress">
         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
           <span class="sr-only">0.00% covered (danger)</span>
         </div>
       </div>
</td>
      <td class="danger small"><div align="right">0.00%</div></td>
      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
      <td class="warning big">       <div class="progress">
         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%">
           <span class="sr-only">87.50% covered (warning)</span>
         </div>
       </div>
</td>
      <td class="warning small"><div align="right">87.50%</div></td>
      <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td>
      <td class="warning small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="99.05" aria-valuemin="0" aria-valuemax="100" style="width: 99.05%">
           <span class="sr-only">99.05% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">99.05%</div></td>
      <td class="success small"><div align="right">104&nbsp;/&nbsp;105</div></td>
     </tr>

     <tr>
      <td class="danger">ClauseParamsBuilder</td>
      <td class="danger big">       <div class="progress">
         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
           <span class="sr-only">0.00% covered (danger)</span>
         </div>
       </div>
</td>
      <td class="danger small"><div align="right">0.00%</div></td>
      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
      <td class="warning big">       <div class="progress">
         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%">
           <span class="sr-only">87.50% covered (warning)</span>
         </div>
       </div>
</td>
      <td class="warning small"><div align="right">87.50%</div></td>
      <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td>
      <td class="warning small">31</td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="99.05" aria-valuemin="0" aria-valuemax="100" style="width: 99.05%">
           <span class="sr-only">99.05% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">99.05%</div></td>
      <td class="success small"><div align="right">104&nbsp;/&nbsp;105</div></td>
     </tr>

     <tr>
      <td class="success" colspan="4">&nbsp;<a href="#76"><abbr title="__construct($params)">__construct</abbr></a></td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
      <td class="success small">1</td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td>
     </tr>

     <tr>
      <td class="success" colspan="4">&nbsp;<a href="#80"><abbr title="buildConfigClause()">buildConfigClause</abbr></a></td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
      <td class="success small">8</td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">28&nbsp;/&nbsp;28</div></td>
     </tr>

     <tr>
      <td class="success" colspan="4">&nbsp;<a href="#116"><abbr title="buildQueryClause()">buildQueryClause</abbr></a></td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
      <td class="success small">2</td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">4&nbsp;/&nbsp;4</div></td>
     </tr>

     <tr>
      <td class="success" colspan="4">&nbsp;<a href="#122"><abbr title="buildSortClause()">buildSortClause</abbr></a></td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
      <td class="success small">3</td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">10&nbsp;/&nbsp;10</div></td>
     </tr>

     <tr>
      <td class="success" colspan="4">&nbsp;<a href="#135"><abbr title="buildFilterClause()">buildFilterClause</abbr></a></td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
      <td class="success small">2</td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">4&nbsp;/&nbsp;4</div></td>
     </tr>

     <tr>
      <td class="danger" colspan="4">&nbsp;<a href="#141"><abbr title="buildDistinctClause()">buildDistinctClause</abbr></a></td>
      <td class="danger big">       <div class="progress">
         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
           <span class="sr-only">0.00% covered (danger)</span>
         </div>
       </div>
</td>
      <td class="danger small"><div align="right">0.00%</div></td>
      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
      <td class="danger small">6</td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="95.65" aria-valuemin="0" aria-valuemax="100" style="width: 95.65%">
           <span class="sr-only">95.65% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">95.65%</div></td>
      <td class="success small"><div align="right">22&nbsp;/&nbsp;23</div></td>
     </tr>

     <tr>
      <td class="success" colspan="4">&nbsp;<a href="#172"><abbr title="buildAggregateClause()">buildAggregateClause</abbr></a></td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
      <td class="success small">7</td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">23&nbsp;/&nbsp;23</div></td>
     </tr>

     <tr>
      <td class="success" colspan="4">&nbsp;<a href="#204"><abbr title="getClausesString()">getClausesString</abbr></a></td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
      <td class="success small">2</td>
      <td class="success big">       <div class="progress">
         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
           <span class="sr-only">100.00% covered (success)</span>
         </div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">11&nbsp;/&nbsp;11</div></td>
     </tr>


    </tbody>
   </table>
   <table id="code" class="table table-borderless table-condensed">
    <tbody>
     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"><span class="comment">/*</span></td></tr>
     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;Licensed&nbsp;to&nbsp;the&nbsp;Apache&nbsp;Software&nbsp;Foundation&nbsp;(ASF)&nbsp;under&nbsp;one</span></td></tr>
     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;or&nbsp;more&nbsp;contributor&nbsp;license&nbsp;agreements.&nbsp;&nbsp;See&nbsp;the&nbsp;NOTICE&nbsp;file</span></td></tr>
     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;distributed&nbsp;with&nbsp;this&nbsp;work&nbsp;for&nbsp;additional&nbsp;information</span></td></tr>
     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;regarding&nbsp;copyright&nbsp;ownership.&nbsp;&nbsp;The&nbsp;ASF&nbsp;licenses&nbsp;this&nbsp;file</span></td></tr>
     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;to&nbsp;you&nbsp;under&nbsp;the&nbsp;Apache&nbsp;License,&nbsp;Version&nbsp;2.0&nbsp;(the</span></td></tr>
     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;&quot;License&quot;);&nbsp;you&nbsp;may&nbsp;not&nbsp;use&nbsp;this&nbsp;file&nbsp;except&nbsp;in&nbsp;compliance</span></td></tr>
     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;with&nbsp;the&nbsp;License.&nbsp;&nbsp;You&nbsp;may&nbsp;obtain&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;License&nbsp;at</span></td></tr>
     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">&nbsp;*</span></td></tr>
     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.apache.org/licenses/LICENSE-2.0</span></td></tr>
     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="comment">&nbsp;*</span></td></tr>
     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;Unless&nbsp;required&nbsp;by&nbsp;applicable&nbsp;law&nbsp;or&nbsp;agreed&nbsp;to&nbsp;in&nbsp;writing,</span></td></tr>
     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;software&nbsp;distributed&nbsp;under&nbsp;the&nbsp;License&nbsp;is&nbsp;distributed&nbsp;on&nbsp;an</span></td></tr>
     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;&quot;AS&nbsp;IS&quot;&nbsp;BASIS,&nbsp;WITHOUT&nbsp;WARRANTIES&nbsp;OR&nbsp;CONDITIONS&nbsp;OF&nbsp;ANY</span></td></tr>
     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;KIND,&nbsp;either&nbsp;express&nbsp;or&nbsp;implied.&nbsp;&nbsp;See&nbsp;the&nbsp;License&nbsp;for&nbsp;the</span></td></tr>
     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;specific&nbsp;language&nbsp;governing&nbsp;permissions&nbsp;and&nbsp;limitations</span></td></tr>
     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;under&nbsp;the&nbsp;License.</span></td></tr>
     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="comment">&nbsp;*/</span></td></tr>
     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">OpenSearch</span><span class="default">\</span><span class="default">Util</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">OpenSearch</span><span class="default">\</span><span class="default">Generated</span><span class="default">\</span><span class="default">Search</span><span class="default">\</span><span class="default">Constant</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">OpenSearch</span><span class="default">\</span><span class="default">Generated</span><span class="default">\</span><span class="default">Search</span><span class="default">\</span><span class="default">Order</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">OpenSearch</span><span class="default">\</span><span class="default">Generated</span><span class="default">\</span><span class="default">Search</span><span class="default">\</span><span class="default">searchFormat</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">ClauseParamsBuilder</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CONFIG_KEY</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'config'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">QUERY_KEY</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'query'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">SORT_KEY</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'sort'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">DISTINCT_KEY</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'distinct'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">AGGREGATE_KEY</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'aggregate'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">FILTER_KEY</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'filter'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">KVPAIRS</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'kvpairs'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CLAUSE_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'&amp;&amp;'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'='</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CLAUSE_CONFIG_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">','</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CLAUSE_CONFIG_KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">':'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CLAUSE_SORT_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">';'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CLAUSE_DISTINCT_KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">':'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CLAUSE_DISTINCT_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">';'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CLAUSE_DISTINCT_SUB_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">','</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CLAUSE_AGGREGATE_KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">':'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CLAUSE_AGGREGATE_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">';'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CLAUSE_AGGREGATE_SUB_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">','</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CONFIG_CLAUSE_START</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'CONFIG_CLAUSE_START'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CONFIG_CLAUSE_HIT</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'CONFIG_CLAUSE_HIT'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CONFIG_CLAUSE_RERANK_SIZE</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'CONFIG_CLAUSE_RERANK_SIZE'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">CONFIG_CLAUSE_FORMAT</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'CONFIG_CLAUSE_FORMAT'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">DISTINCT_CLAUSE_DIST_KEY</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'DISTINCT_CLAUSE_DIST_KEY'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">DISTINCT_CLAUSE_DIST_COUNT</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'DISTINCT_CLAUSE_DIST_COUNT'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">DISTINCT_CLAUSE_DIST_TIMES</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'DISTINCT_CLAUSE_DIST_TIMES'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">DISTINCT_CLAUSE_RESERVED</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'DISTINCT_CLAUSE_RESERVED'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">DISTINCT_CLAUSE_DIST_FILTER</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'DISTINCT_CLAUSE_DIST_FILTER'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">DISTINCT_CLAUSE_UPDATE_TOTAL_HIT</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'DISTINCT_CLAUSE_UPDATE_TOTAL_HIT'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">DISTINCT_CLAUSE_GRADE</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'DISTINCT_CLAUSE_GRADE'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">AGGREGATE_CLAUSE_GROUP_KEY</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'AGGREGATE_CLAUSE_GROUP_KEY'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">AGGREGATE_CLAUSE_AGG_FUN</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'AGGREGATE_CLAUSE_AGG_FUN'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">AGGREGATE_CLAUSE_RANGE</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'AGGREGATE_CLAUSE_RANGE'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">AGGREGATE_CLAUSE_MAX_GROUP</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'AGGREGATE_CLAUSE_MAX_GROUP'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">AGGREGATE_CLAUSE_AGG_FILTER</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'AGGREGATE_CLAUSE_AGG_FILTER'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">AGGREGATE_CLAUSE_AGG_SAMPLER_THRESHOLD</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'AGGREGATE_CLAUSE_AGG_SAMPLER_THRESHOLD'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">const</span><span class="default">&nbsp;</span><span class="default">AGGREGATE_CLAUSE_AGG_SAMPLER_STEP</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'AGGREGATE_CLAUSE_AGG_SAMPLER_STEP'</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="default">$params</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="default">$clauses</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">__construct</span><span class="keyword">(</span><span class="default">$params</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 77" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$params</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 78" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">buildConfigClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 81" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$config</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 82" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">config</span><span class="default">-&gt;</span><span class="default">start</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="23 tests cover line 83" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$config</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">Constant</span><span class="default">::</span><span class="default">get</span><span class="keyword">(</span><span class="default">self</span><span class="default">::</span><span class="default">CONFIG_CLAUSE_START</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="23 tests cover line 84" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_CONFIG_KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">config</span><span class="default">-&gt;</span><span class="default">start</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="23 tests cover line 85" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 87" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">config</span><span class="default">-&gt;</span><span class="default">hits</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="23 tests cover line 88" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$config</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">Constant</span><span class="default">::</span><span class="default">get</span><span class="keyword">(</span><span class="default">self</span><span class="default">::</span><span class="default">CONFIG_CLAUSE_HIT</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="23 tests cover line 89" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_CONFIG_KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">config</span><span class="default">-&gt;</span><span class="default">hits</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="23 tests cover line 90" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 92" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">config</span><span class="default">-&gt;</span><span class="default">searchFormat</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="23 tests cover line 93" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$format</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">config</span><span class="default">-&gt;</span><span class="default">searchFormat</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="23 tests cover line 94" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$config</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">Constant</span><span class="default">::</span><span class="default">get</span><span class="keyword">(</span><span class="default">self</span><span class="default">::</span><span class="default">CONFIG_CLAUSE_FORMAT</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="23 tests cover line 95" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_CONFIG_KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">strtolower</span><span class="keyword">(</span><span class="default">searchFormat</span><span class="default">::</span><span class="default">$__names</span><span class="keyword">[</span><span class="default">$format</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="23 tests cover line 96" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 98" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">rank</span><span class="default">-&gt;</span><span class="default">reRankSize</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 99" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$config</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">Constant</span><span class="default">::</span><span class="default">get</span><span class="keyword">(</span><span class="default">self</span><span class="default">::</span><span class="default">CONFIG_CLAUSE_RERANK_SIZE</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 100" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_CONFIG_KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">rank</span><span class="default">-&gt;</span><span class="default">reRankSize</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 101" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 103" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">config</span><span class="default">-&gt;</span><span class="default">kvpairs</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 104" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$config</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">KVPAIRS</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_CONFIG_KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">config</span><span class="default">-&gt;</span><span class="default">kvpairs</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 105" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 107" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">config</span><span class="default">-&gt;</span><span class="default">customConfig</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 108" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">config</span><span class="default">-&gt;</span><span class="default">customConfig</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$k</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$v</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 109" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$config</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$k</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_CONFIG_KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$v</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 110" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 111" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 113" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">clauses</span><span class="keyword">[</span><span class="default">self</span><span class="default">::</span><span class="default">CONFIG_KEY</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">implode</span><span class="keyword">(</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_CONFIG_SEPARATOR</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$config</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 114" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">buildQueryClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 117" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">query</span><span class="default">&nbsp;</span><span class="default">!==</span><span class="default">&nbsp;</span><span class="default">null</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 118" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">clauses</span><span class="keyword">[</span><span class="default">self</span><span class="default">::</span><span class="default">QUERY_KEY</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">query</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 119" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 120" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">buildSortClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 123" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$sorts</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 124" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">sort</span><span class="default">-&gt;</span><span class="default">sortFields</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 125" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">sort</span><span class="default">-&gt;</span><span class="default">sortFields</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$sortField</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 126" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$order</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$sortField</span><span class="default">-&gt;</span><span class="default">order</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 127" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$orderString</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">Order</span><span class="default">::</span><span class="default">$__names</span><span class="keyword">[</span><span class="default">$order</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 128" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$sorts</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">Constant</span><span class="default">::</span><span class="default">get</span><span class="keyword">(</span><span class="default">'SORT_CLAUSE_'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$orderString</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$sortField</span><span class="default">-&gt;</span><span class="default">field</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 129" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 131" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">clauses</span><span class="keyword">[</span><span class="default">self</span><span class="default">::</span><span class="default">SORT_KEY</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">implode</span><span class="keyword">(</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_SORT_SEPARATOR</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$sorts</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 132" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 133" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">buildFilterClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 136" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">filter</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 137" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">clauses</span><span class="keyword">[</span><span class="default">self</span><span class="default">::</span><span class="default">FILTER_KEY</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">filter</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 138" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 139" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">buildDistinctClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 142" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$distincts</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 143" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">distincts</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$keys</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 145" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'key'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">DISTINCT_CLAUSE_DIST_KEY</span><span class="keyword">,</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 146" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'distCount'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">DISTINCT_CLAUSE_DIST_COUNT</span><span class="keyword">,</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 147" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'distTimes'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">DISTINCT_CLAUSE_DIST_TIMES</span><span class="keyword">,</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 148" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'reserved'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">DISTINCT_CLAUSE_RESERVED</span><span class="keyword">,</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 149" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'distFilter'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">DISTINCT_CLAUSE_DIST_FILTER</span><span class="keyword">,</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 150" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'updateTotalHit'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">DISTINCT_CLAUSE_UPDATE_TOTAL_HIT</span><span class="keyword">,</span></td></tr>
     <tr><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'grade'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">DISTINCT_CLAUSE_GRADE</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 152" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 153" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">distincts</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$distinct</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 154" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$distinct</span><span class="default">-&gt;</span><span class="default">key</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="danger"><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">continue</span><span class="keyword">;</span></td></tr>
     <tr class="warning"><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 158" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$dist</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 159" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$keys</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$k</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$v</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 160" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$distinct</span><span class="default">-&gt;</span><span class="default">$k</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 161" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$dist</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">Constant</span><span class="default">::</span><span class="default">get</span><span class="keyword">(</span><span class="default">$v</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_AGGREGATE_KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$distinct</span><span class="default">-&gt;</span><span class="default">$k</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 162" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 163" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 165" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$distincts</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">implode</span><span class="keyword">(</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_DISTINCT_SUB_SEPARATOR</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$dist</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 166" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 168" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">clauses</span><span class="keyword">[</span><span class="default">self</span><span class="default">::</span><span class="default">DISTINCT_KEY</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">implode</span><span class="keyword">(</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_DISTINCT_SEPARATOR</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$distincts</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 169" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 170" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">buildAggregateClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 173" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aggregates</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 174" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">aggregates</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$keys</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 176" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'groupKey'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">AGGREGATE_CLAUSE_GROUP_KEY</span><span class="keyword">,</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 177" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'aggFun'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">AGGREGATE_CLAUSE_AGG_FUN</span><span class="keyword">,</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 178" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'range'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">AGGREGATE_CLAUSE_RANGE</span><span class="keyword">,</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 179" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'maxGroup'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">AGGREGATE_CLAUSE_MAX_GROUP</span><span class="keyword">,</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 180" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'aggFilter'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">AGGREGATE_CLAUSE_AGG_FILTER</span><span class="keyword">,</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 181" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'aggSamplerThresHold'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">AGGREGATE_CLAUSE_AGG_SAMPLER_THRESHOLD</span><span class="keyword">,</span></td></tr>
     <tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'aggSamplerStep'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">AGGREGATE_CLAUSE_AGG_SAMPLER_STEP</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 183" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 185" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">params</span><span class="default">-&gt;</span><span class="default">aggregates</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$aggregate</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 186" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aggregate</span><span class="default">-&gt;</span><span class="default">groupKey</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">||</span><span class="default">&nbsp;</span><span class="keyword">!</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aggregate</span><span class="default">-&gt;</span><span class="default">aggFun</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 187" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">continue</span><span class="keyword">;</span></td></tr>
     <tr class="warning"><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 190" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$agg</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 191" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$keys</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$k</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$v</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 192" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aggregate</span><span class="default">-&gt;</span><span class="default">$k</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 193" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$agg</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">Constant</span><span class="default">::</span><span class="default">get</span><span class="keyword">(</span><span class="default">$v</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_AGGREGATE_KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$aggregate</span><span class="default">-&gt;</span><span class="default">$k</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 194" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 195" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 197" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aggregates</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">implode</span><span class="keyword">(</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_AGGREGATE_SUB_SEPARATOR</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$agg</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 198" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 200" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">clauses</span><span class="keyword">[</span><span class="default">self</span><span class="default">::</span><span class="default">AGGREGATE_KEY</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">implode</span><span class="keyword">(</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_AGGREGATE_SEPARATOR</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aggregates</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="1 test covers line 201" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 202" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">getClausesString</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 205" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">buildConfigClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 206" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">buildQueryClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 207" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">buildSortClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 208" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">buildFilterClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 209" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">buildDistinctClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 210" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">buildAggregateClause</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 212" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$clauses</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 213" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">clauses</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$clauseKey</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$value</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 214" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$clauses</span><span class="keyword">[</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$clauseKey</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">self</span><span class="default">::</span><span class="default">KV_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$value</span><span class="keyword">;</span></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 215" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"></td></tr>
     <tr class="covered-by-large-tests popin" data-title="26 tests cover line 217" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchClientTest::testExecute&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesConfigString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryString&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesQueryStringSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ClauseParamsBuilderTest::testGetClausesStringFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetStart&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSeHit&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFormat&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetKVPairs&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetCustomConfig&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetQuery&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddFilter&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSort&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetAppName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFetchFields&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetRouteValue&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetFirstRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSecondRankName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddQueryProcessor&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddCustomParam&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddAggregate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDistinct&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddSummary&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testAddDisableFunctions&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetScrollExpire&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;SearchParamsBuilderTest::testSetSetScrollId&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">implode</span><span class="keyword">(</span><span class="default">self</span><span class="default">::</span><span class="default">CLAUSE_SEPARATOR</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$clauses</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
     <tr class="warning"><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
     <tr><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>

    </tbody>
   </table>
   <footer>
    <hr/>
    <h4>Legend</h4>
    <p>
     <span class="success"><strong>Executed</strong></span>
     <span class="danger"><strong>Not Executed</strong></span>
     <span class="warning"><strong>Dead Code</strong></span>
    </p>
    <p>
     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 2.1.3</a> using <a href="http://php.net/" target="_top">PHP 5.6.27</a> and <a href="http://phpunit.de/">PHPUnit 4.7.0</a> at Mon Apr 17 13:50:55 CST 2017.</small>
    </p>
    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
   </footer>
  </div>
  <script src="../../js/jquery.min.js" type="text/javascript"></script>
  <script src="../../js/bootstrap.min.js" type="text/javascript"></script>
  <script src="../../js/holder.min.js" type="text/javascript"></script>
  <script type="text/javascript">
  $(function() {
   var $window   = $(window)
     , $top_link = $('#toplink')
     , $body     = $('body, html')
     , offset    = $('#code').offset().top;

   $top_link.hide().click(function(event) {
    event.preventDefault();
    $body.animate({scrollTop:0}, 800);
   });

   $window.scroll(function() {
    if($window.scrollTop() > offset) {
     $top_link.fadeIn();
    } else {
     $top_link.fadeOut();
    }
   }).scroll();

   $('.popin').popover({trigger: 'hover'});
  });
  </script>
 </body>
</html>
